#include <stdio.h>

int fib( int n );
void PrintFN( int m, int n );

int main()
{
    int m, n, t;

    scanf("%d %d %d", &m, &n, &t);
    printf("fib(%d) = %d\n", t, fib(t));
    PrintFN(m, n);

    return 0;
}

// 迭代 fib(7) = 13
int fib(int n){
    if(n==1)
        return 1;
    if(n==2)
        return 1;
    int a = 1,b = 1,tmp=-1;
    for(int i=3;i<=n;++i){
        tmp=a;//保护a
        a = b;
        b += tmp;
    }
    return b;
}

//题意要求使用fib()来实现PrintFN(),但是这个接口极难使用，
//我决定在PrintFN()中不使用fib()
void PrintFN( int m, int n ){
    int exist_fib = 0;
    int a = 1,b = 1,tmp=-1;
    while(1){
        if(b>=m && b<=n){
            if(exist_fib==0)
                printf("%d",b);
            else
                printf(" %d",b);
            exist_fib = 1;
        }
        // else if(b>n){
        //     if(!exist_fib)
        //         printf("No Fibonacci number");
        //     return;
        // }

        if(b>n){
            if(!exist_fib)
                printf("No Fibonacci number");
            return;
        }
        tmp=a;//保护a
        a = b;
        b = tmp+b;
    }  
}


//答案错误，有两个点没有通过